package co.edu.usbcali.sisgpim.presentation.businessDelegate;

import co.edu.usbcali.sisgpim.modelo.Accesorios;
import co.edu.usbcali.sisgpim.modelo.EquiposLaboratorio;
import co.edu.usbcali.sisgpim.modelo.EstadosImplementos;
import co.edu.usbcali.sisgpim.modelo.Marcas;
import co.edu.usbcali.sisgpim.modelo.PrestamosEquipos;
import co.edu.usbcali.sisgpim.modelo.PrestamosEquiposId;
import co.edu.usbcali.sisgpim.modelo.ReservasEquipos;
import co.edu.usbcali.sisgpim.modelo.ReservasEquiposId;
import co.edu.usbcali.sisgpim.modelo.Sanciones;
import co.edu.usbcali.sisgpim.modelo.TiposEquipo;
import co.edu.usbcali.sisgpim.modelo.TiposUsuario;
import co.edu.usbcali.sisgpim.modelo.Usuarios;
import co.edu.usbcali.sisgpim.modelo.control.AccesoriosLogic;
import co.edu.usbcali.sisgpim.modelo.control.EquiposLaboratorioLogic;
import co.edu.usbcali.sisgpim.modelo.control.EstadosImplementosLogic;
import co.edu.usbcali.sisgpim.modelo.control.IAccesoriosLogic;
import co.edu.usbcali.sisgpim.modelo.control.IEquiposLaboratorioLogic;
import co.edu.usbcali.sisgpim.modelo.control.IEstadosImplementosLogic;
import co.edu.usbcali.sisgpim.modelo.control.IMarcasLogic;
import co.edu.usbcali.sisgpim.modelo.control.IPrestamosEquiposLogic;
import co.edu.usbcali.sisgpim.modelo.control.IReservasEquiposLogic;
import co.edu.usbcali.sisgpim.modelo.control.ISancionesLogic;
import co.edu.usbcali.sisgpim.modelo.control.ITiposEquipoLogic;
import co.edu.usbcali.sisgpim.modelo.control.ITiposUsuarioLogic;
import co.edu.usbcali.sisgpim.modelo.control.IUsuariosLogic;
import co.edu.usbcali.sisgpim.modelo.control.MarcasLogic;
import co.edu.usbcali.sisgpim.modelo.control.PrestamosEquiposLogic;
import co.edu.usbcali.sisgpim.modelo.control.ReservasEquiposLogic;
import co.edu.usbcali.sisgpim.modelo.control.SancionesLogic;
import co.edu.usbcali.sisgpim.modelo.control.TiposEquipoLogic;
import co.edu.usbcali.sisgpim.modelo.control.TiposUsuarioLogic;
import co.edu.usbcali.sisgpim.modelo.control.UsuariosLogic;

import java.math.BigDecimal;

import java.util.Date;
import java.util.List;
import java.util.Set;


/**
* Use a Business Delegate to reduce coupling between presentation-tier clients and business services.
* The Business Delegate hides the underlying implementation details of the business service, such as lookup and access details of the EJB architecture.
*
* The Business Delegate acts as a client-side business abstraction; it provides an abstraction for, and thus hides,
* the implementation of the business services. Using a Business Delegate reduces the coupling between presentation-tier clients and
* the system's business services. Depending on the implementation strategy, the Business Delegate may shield clients from possible
* volatility in the implementation of the business service API. Potentially, this reduces the number of changes that must be made to the
* presentation-tier client code when the business service API or its underlying implementation changes.
*
* However, interface methods in the Business Delegate may still require modification if the underlying business service API changes.
* Admittedly, though, it is more likely that changes will be made to the business service rather than to the Business Delegate.
*
* Often, developers are skeptical when a design goal such as abstracting the business layer causes additional upfront work in return
* for future gains. However, using this pattern or its strategies results in only a small amount of additional upfront work and provides
* considerable benefits. The main benefit is hiding the details of the underlying service. For example, the client can become transparent
* to naming and lookup services. The Business Delegate also handles the exceptions from the business services, such as java.rmi.Remote
* exceptions, Java Messages Service (JMS) exceptions and so on. The Business Delegate may intercept such service level exceptions and
* generate application level exceptions instead. Application level exceptions are easier to handle by the clients, and may be user friendly.
* The Business Delegate may also transparently perform any retry or recovery operations necessary in the event of a service failure without
* exposing the client to the problem until it is determined that the problem is not resolvable. These gains present a compelling reason to
* use the pattern.
*
* Another benefit is that the delegate may cache results and references to remote business services. Caching can significantly improve performance,
* because it limits unnecessary and potentially costly round trips over the network.
*
* A Business Delegate uses a component called the Lookup Service. The Lookup Service is responsible for hiding the underlying implementation
* details of the business service lookup code. The Lookup Service may be written as part of the Delegate, but we recommend that it be
* implemented as a separate component, as outlined in the Service Locator pattern (See "Service Locator" on page 368.)
*
* When the Business Delegate is used with a Session Facade, typically there is a one-to-one relationship between the two.
* This one-to-one relationship exists because logic that might have been encapsulated in a Business Delegate relating to its interaction
* with multiple business services (creating a one-to-many relationship) will often be factored back into a Session Facade.
*
* Finally, it should be noted that this pattern could be used to reduce coupling between other tiers, not simply the presentation and the
* business tiers.
*
* @author Zathura Code Generator http://code.google.com/p/zathura/
*
*/
public class BusinessDelegatorView {
    private BusinessDelegatorView() {
    }

    public static List<Accesorios> getAccesorios() throws Exception {
        IAccesoriosLogic accesoriosLogic = new AccesoriosLogic();

        return accesoriosLogic.getAccesorios();
    }

    public static void saveAccesorios(String nombre, String serial,
        Integer codigo_EstadosImplementos, Integer codigo_Marcas)
        throws Exception {
        IAccesoriosLogic accesoriosLogic = new AccesoriosLogic();
        accesoriosLogic.saveAccesorios(nombre, serial,
            codigo_EstadosImplementos, codigo_Marcas);
    }

    public static void deleteAccesorios(String serial)
        throws Exception {
        IAccesoriosLogic accesoriosLogic = new AccesoriosLogic();
        accesoriosLogic.deleteAccesorios(serial);
    }

    public static void updateAccesorios(String nombre, String serial,
        Integer codigo_EstadosImplementos, Integer codigo_Marcas)
        throws Exception {
        IAccesoriosLogic accesoriosLogic = new AccesoriosLogic();
        accesoriosLogic.updateAccesorios(nombre, serial,
            codigo_EstadosImplementos, codigo_Marcas);
    }

    public static Accesorios getAccesorios(String serial)
        throws Exception {
        IAccesoriosLogic accesoriosLogic = new AccesoriosLogic();
        Accesorios accesorios = null;

        try {
            accesorios = accesoriosLogic.getAccesorios(serial);
        } catch (Exception e) {
            throw e;
        }

        return accesorios;
    }

    public static List<Accesorios> findByCriteriaInAccesorios(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception {
        IAccesoriosLogic accesoriosLogic = new AccesoriosLogic();

        return accesoriosLogic.findByCriteria(variables, variablesBetween,
            variablesBetweenDates);
    }

    public static List<Accesorios> findPageAccesorios(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception {
        IAccesoriosLogic accesoriosLogic = new AccesoriosLogic();

        return accesoriosLogic.findPageAccesorios(sortColumnName,
            sortAscending, startRow, maxResults);
    }

    public static Long findTotalNumberAccesorios() throws Exception {
        IAccesoriosLogic accesoriosLogic = new AccesoriosLogic();

        return accesoriosLogic.findTotalNumberAccesorios();
    }

    public static List<EquiposLaboratorio> getEquiposLaboratorio()
        throws Exception {
        IEquiposLaboratorioLogic equiposLaboratorioLogic = new EquiposLaboratorioLogic();

        return equiposLaboratorioLogic.getEquiposLaboratorio();
    }

    public static void saveEquiposLaboratorio(String modelo, String nombre,
        String serial, Integer codigo_EstadosImplementos,
        Integer codigo_Marcas, Integer codigo_TiposEquipo)
        throws Exception {
        IEquiposLaboratorioLogic equiposLaboratorioLogic = new EquiposLaboratorioLogic();
        equiposLaboratorioLogic.saveEquiposLaboratorio(modelo, nombre, serial,
            codigo_EstadosImplementos, codigo_Marcas, codigo_TiposEquipo);
    }

    public static void deleteEquiposLaboratorio(String serial)
        throws Exception {
        IEquiposLaboratorioLogic equiposLaboratorioLogic = new EquiposLaboratorioLogic();
        equiposLaboratorioLogic.deleteEquiposLaboratorio(serial);
    }

    public static void updateEquiposLaboratorio(String modelo, String nombre,
        String serial, Integer codigo_EstadosImplementos,
        Integer codigo_Marcas, Integer codigo_TiposEquipo)
        throws Exception {
        IEquiposLaboratorioLogic equiposLaboratorioLogic = new EquiposLaboratorioLogic();
        equiposLaboratorioLogic.updateEquiposLaboratorio(modelo, nombre,
            serial, codigo_EstadosImplementos, codigo_Marcas, codigo_TiposEquipo);
    }

    public static EquiposLaboratorio getEquiposLaboratorio(String serial)
        throws Exception {
        IEquiposLaboratorioLogic equiposLaboratorioLogic = new EquiposLaboratorioLogic();
        EquiposLaboratorio equiposLaboratorio = null;

        try {
            equiposLaboratorio = equiposLaboratorioLogic.getEquiposLaboratorio(serial);
        } catch (Exception e) {
            throw e;
        }

        return equiposLaboratorio;
    }

    public static List<EquiposLaboratorio> findByCriteriaInEquiposLaboratorio(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception {
        IEquiposLaboratorioLogic equiposLaboratorioLogic = new EquiposLaboratorioLogic();

        return equiposLaboratorioLogic.findByCriteria(variables,
            variablesBetween, variablesBetweenDates);
    }

    public static List<EquiposLaboratorio> findPageEquiposLaboratorio(
        String sortColumnName, boolean sortAscending, int startRow,
        int maxResults) throws Exception {
        IEquiposLaboratorioLogic equiposLaboratorioLogic = new EquiposLaboratorioLogic();

        return equiposLaboratorioLogic.findPageEquiposLaboratorio(sortColumnName,
            sortAscending, startRow, maxResults);
    }

    public static Long findTotalNumberEquiposLaboratorio()
        throws Exception {
        IEquiposLaboratorioLogic equiposLaboratorioLogic = new EquiposLaboratorioLogic();

        return equiposLaboratorioLogic.findTotalNumberEquiposLaboratorio();
    }

    public static List<EstadosImplementos> getEstadosImplementos()
        throws Exception {
        IEstadosImplementosLogic estadosImplementosLogic = new EstadosImplementosLogic();

        return estadosImplementosLogic.getEstadosImplementos();
    }

    public static void saveEstadosImplementos(String nombre)
        throws Exception {
        IEstadosImplementosLogic estadosImplementosLogic = new EstadosImplementosLogic();
        estadosImplementosLogic.saveEstadosImplementos(nombre);
    }

    public static void deleteEstadosImplementos(Integer codigo)
        throws Exception {
        IEstadosImplementosLogic estadosImplementosLogic = new EstadosImplementosLogic();
        estadosImplementosLogic.deleteEstadosImplementos(codigo);
    }

    public static void updateEstadosImplementos(Integer codigo, String nombre)
        throws Exception {
        IEstadosImplementosLogic estadosImplementosLogic = new EstadosImplementosLogic();
        estadosImplementosLogic.updateEstadosImplementos(codigo, nombre);
    }

    public static EstadosImplementos getEstadosImplementos(Integer codigo)
        throws Exception {
        IEstadosImplementosLogic estadosImplementosLogic = new EstadosImplementosLogic();
        EstadosImplementos estadosImplementos = null;

        try {
            estadosImplementos = estadosImplementosLogic.getEstadosImplementos(codigo);
        } catch (Exception e) {
            throw e;
        }

        return estadosImplementos;
    }

    public static List<EstadosImplementos> findByCriteriaInEstadosImplementos(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception {
        IEstadosImplementosLogic estadosImplementosLogic = new EstadosImplementosLogic();

        return estadosImplementosLogic.findByCriteria(variables,
            variablesBetween, variablesBetweenDates);
    }

    public static List<EstadosImplementos> findPageEstadosImplementos(
        String sortColumnName, boolean sortAscending, int startRow,
        int maxResults) throws Exception {
        IEstadosImplementosLogic estadosImplementosLogic = new EstadosImplementosLogic();

        return estadosImplementosLogic.findPageEstadosImplementos(sortColumnName,
            sortAscending, startRow, maxResults);
    }

    public static Long findTotalNumberEstadosImplementos()
        throws Exception {
        IEstadosImplementosLogic estadosImplementosLogic = new EstadosImplementosLogic();

        return estadosImplementosLogic.findTotalNumberEstadosImplementos();
    }

    public static List<Marcas> getMarcas() throws Exception {
        IMarcasLogic marcasLogic = new MarcasLogic();

        return marcasLogic.getMarcas();
    }

    public static void saveMarcas(String nombre)
        throws Exception {
        IMarcasLogic marcasLogic = new MarcasLogic();
        marcasLogic.saveMarcas(nombre);
    }

    public static void deleteMarcas(Integer codigo) throws Exception {
        IMarcasLogic marcasLogic = new MarcasLogic();
        marcasLogic.deleteMarcas(codigo);
    }

    public static void updateMarcas(Integer codigo, String nombre)
        throws Exception {
        IMarcasLogic marcasLogic = new MarcasLogic();
        marcasLogic.updateMarcas(codigo, nombre);
    }

    public static Marcas getMarcas(Integer codigo) throws Exception {
        IMarcasLogic marcasLogic = new MarcasLogic();
        Marcas marcas = null;

        try {
            marcas = marcasLogic.getMarcas(codigo);
        } catch (Exception e) {
            throw e;
        }

        return marcas;
    }

    public static List<Marcas> findByCriteriaInMarcas(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception {
        IMarcasLogic marcasLogic = new MarcasLogic();

        return marcasLogic.findByCriteria(variables, variablesBetween,
            variablesBetweenDates);
    }

    public static List<Marcas> findPageMarcas(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception {
        IMarcasLogic marcasLogic = new MarcasLogic();

        return marcasLogic.findPageMarcas(sortColumnName, sortAscending,
            startRow, maxResults);
    }

    public static Long findTotalNumberMarcas() throws Exception {
        IMarcasLogic marcasLogic = new MarcasLogic();

        return marcasLogic.findTotalNumberMarcas();
    }

    public static List<PrestamosEquipos> getPrestamosEquipos()
        throws Exception {
        IPrestamosEquiposLogic prestamosEquiposLogic = new PrestamosEquiposLogic();

        return prestamosEquiposLogic.getPrestamosEquipos();
    }

    public static void savePrestamosEquipos(String equipoLaboratorio,
        Integer usuarioPresta, Boolean estadoPrestamo,
        Date fechaDevolucion, Date fechaIngreso, Integer usuarioAutoriza) throws Exception {
        IPrestamosEquiposLogic prestamosEquiposLogic = new PrestamosEquiposLogic();
        prestamosEquiposLogic.savePrestamosEquipos(equipoLaboratorio,
            usuarioPresta, estadoPrestamo, fechaDevolucion, fechaIngreso, usuarioAutoriza);
    }

    public static void deletePrestamosEquipos(String equipoLaboratorio,
        Integer usuarioPresta, Date fechaSalida) throws Exception {
        IPrestamosEquiposLogic prestamosEquiposLogic = new PrestamosEquiposLogic();
        prestamosEquiposLogic.deletePrestamosEquipos(equipoLaboratorio,
            usuarioPresta, fechaSalida);
    }

    public static void updatePrestamosEquipos(String equipoLaboratorio,
        Integer usuarioPresta, Boolean estadoPrestamo, Date fechaDevolucion, 
        Date fechaIngreso, Integer usuarioAutoriza) throws Exception {
        IPrestamosEquiposLogic prestamosEquiposLogic = new PrestamosEquiposLogic();
        prestamosEquiposLogic.updatePrestamosEquipos(equipoLaboratorio,
            usuarioPresta, estadoPrestamo, fechaDevolucion,
            fechaIngreso, usuarioAutoriza);
    }

    public static PrestamosEquipos getPrestamosEquipos(PrestamosEquiposId id)
        throws Exception {
        IPrestamosEquiposLogic prestamosEquiposLogic = new PrestamosEquiposLogic();
        PrestamosEquipos prestamosEquipos = null;

        try {
            prestamosEquipos = prestamosEquiposLogic.getPrestamosEquipos(id);
        } catch (Exception e) {
            throw e;
        }

        return prestamosEquipos;
    }

    public static List<PrestamosEquipos> findByCriteriaInPrestamosEquipos(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception {
        IPrestamosEquiposLogic prestamosEquiposLogic = new PrestamosEquiposLogic();

        return prestamosEquiposLogic.findByCriteria(variables,
            variablesBetween, variablesBetweenDates);
    }

    public static List<PrestamosEquipos> findPagePrestamosEquipos(
        String sortColumnName, boolean sortAscending, int startRow,
        int maxResults) throws Exception {
        IPrestamosEquiposLogic prestamosEquiposLogic = new PrestamosEquiposLogic();

        return prestamosEquiposLogic.findPagePrestamosEquipos(sortColumnName,
            sortAscending, startRow, maxResults);
    }

    public static Long findTotalNumberPrestamosEquipos()
        throws Exception {
        IPrestamosEquiposLogic prestamosEquiposLogic = new PrestamosEquiposLogic();

        return prestamosEquiposLogic.findTotalNumberPrestamosEquipos();
    }

    public static List<ReservasEquipos> getReservasEquipos()
        throws Exception {
        IReservasEquiposLogic reservasEquiposLogic = new ReservasEquiposLogic();

        return reservasEquiposLogic.getReservasEquipos();
    }

    public static void saveReservasEquipos(String equipoLaboratorio,
        Integer usuario, Boolean estadoReserva)
        throws Exception {
        IReservasEquiposLogic reservasEquiposLogic = new ReservasEquiposLogic();
        reservasEquiposLogic.saveReservasEquipos(equipoLaboratorio,
            usuario, estadoReserva);
    }

    public static void deleteReservasEquipos(String equipoLaboratorio,
        Date fechaReserva, Integer usuario) throws Exception {
        IReservasEquiposLogic reservasEquiposLogic = new ReservasEquiposLogic();
        reservasEquiposLogic.deleteReservasEquipos(equipoLaboratorio,
            fechaReserva, usuario);
    }

    public static void updateReservasEquipos(String equipoLaboratorio,
        Integer usuario, Boolean estadoReserva)
        throws Exception {
        IReservasEquiposLogic reservasEquiposLogic = new ReservasEquiposLogic();
        reservasEquiposLogic.updateReservasEquipos(equipoLaboratorio,
            usuario, estadoReserva);
    }

    public static ReservasEquipos getReservasEquipos(ReservasEquiposId id)
        throws Exception {
        IReservasEquiposLogic reservasEquiposLogic = new ReservasEquiposLogic();
        ReservasEquipos reservasEquipos = null;

        try {
            reservasEquipos = reservasEquiposLogic.getReservasEquipos(id);
        } catch (Exception e) {
            throw e;
        }

        return reservasEquipos;
    }

    public static List<ReservasEquipos> findByCriteriaInReservasEquipos(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception {
        IReservasEquiposLogic reservasEquiposLogic = new ReservasEquiposLogic();

        return reservasEquiposLogic.findByCriteria(variables, variablesBetween,
            variablesBetweenDates);
    }

    public static List<ReservasEquipos> findPageReservasEquipos(
        String sortColumnName, boolean sortAscending, int startRow,
        int maxResults) throws Exception {
        IReservasEquiposLogic reservasEquiposLogic = new ReservasEquiposLogic();

        return reservasEquiposLogic.findPageReservasEquipos(sortColumnName,
            sortAscending, startRow, maxResults);
    }

    public static Long findTotalNumberReservasEquipos()
        throws Exception {
        IReservasEquiposLogic reservasEquiposLogic = new ReservasEquiposLogic();

        return reservasEquiposLogic.findTotalNumberReservasEquipos();
    }

    public static List<Sanciones> getSanciones() throws Exception {
        ISancionesLogic sancionesLogic = new SancionesLogic();

        return sancionesLogic.getSanciones();
    }

    public static void saveSanciones(Integer codigo, boolean vigente,
        String equipoLaboratorio_PrestamosEquipos,
        Integer usuarioPresta_PrestamosEquipos,
        Date fechaSalida_PrestamosEquipos) throws Exception {
        ISancionesLogic sancionesLogic = new SancionesLogic();
        sancionesLogic.saveSanciones(codigo, vigente,
            equipoLaboratorio_PrestamosEquipos, usuarioPresta_PrestamosEquipos,
            fechaSalida_PrestamosEquipos);
    }

    public static void deleteSanciones(Integer codigo)
        throws Exception {
        ISancionesLogic sancionesLogic = new SancionesLogic();
        sancionesLogic.deleteSanciones(codigo);
    }

    public static void updateSanciones(Integer codigo, boolean vigente,
        String equipoLaboratorio_PrestamosEquipos,
        Integer usuarioPresta_PrestamosEquipos,
        Date fechaSalida_PrestamosEquipos) throws Exception {
        ISancionesLogic sancionesLogic = new SancionesLogic();
        sancionesLogic.updateSanciones(codigo, vigente,
            equipoLaboratorio_PrestamosEquipos, usuarioPresta_PrestamosEquipos,
            fechaSalida_PrestamosEquipos);
    }

    public static Sanciones getSanciones(Integer codigo)
        throws Exception {
        ISancionesLogic sancionesLogic = new SancionesLogic();
        Sanciones sanciones = null;

        try {
            sanciones = sancionesLogic.getSanciones(codigo);
        } catch (Exception e) {
            throw e;
        }

        return sanciones;
    }

    public static List<Sanciones> findByCriteriaInSanciones(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception {
        ISancionesLogic sancionesLogic = new SancionesLogic();

        return sancionesLogic.findByCriteria(variables, variablesBetween,
            variablesBetweenDates);
    }

    public static List<Sanciones> findPageSanciones(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception {
        ISancionesLogic sancionesLogic = new SancionesLogic();

        return sancionesLogic.findPageSanciones(sortColumnName, sortAscending,
            startRow, maxResults);
    }

    public static Long findTotalNumberSanciones() throws Exception {
        ISancionesLogic sancionesLogic = new SancionesLogic();

        return sancionesLogic.findTotalNumberSanciones();
    }

    public static List<TiposEquipo> getTiposEquipo() throws Exception {
        ITiposEquipoLogic tiposEquipoLogic = new TiposEquipoLogic();

        return tiposEquipoLogic.getTiposEquipo();
    }

    public static void saveTiposEquipo(String nombre)
        throws Exception {
        ITiposEquipoLogic tiposEquipoLogic = new TiposEquipoLogic();
        tiposEquipoLogic.saveTiposEquipo(nombre);
    }

    public static void deleteTiposEquipo(Integer codigo)
        throws Exception {
        ITiposEquipoLogic tiposEquipoLogic = new TiposEquipoLogic();
        tiposEquipoLogic.deleteTiposEquipo(codigo);
    }

    public static void updateTiposEquipo(Integer codigo, String nombre)
        throws Exception {
        ITiposEquipoLogic tiposEquipoLogic = new TiposEquipoLogic();
        tiposEquipoLogic.updateTiposEquipo(codigo, nombre);
    }

    public static TiposEquipo getTiposEquipo(Integer codigo)
        throws Exception {
        ITiposEquipoLogic tiposEquipoLogic = new TiposEquipoLogic();
        TiposEquipo tiposEquipo = null;

        try {
            tiposEquipo = tiposEquipoLogic.getTiposEquipo(codigo);
        } catch (Exception e) {
            throw e;
        }

        return tiposEquipo;
    }

    public static List<TiposEquipo> findByCriteriaInTiposEquipo(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception {
        ITiposEquipoLogic tiposEquipoLogic = new TiposEquipoLogic();

        return tiposEquipoLogic.findByCriteria(variables, variablesBetween,
            variablesBetweenDates);
    }

    public static List<TiposEquipo> findPageTiposEquipo(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception {
        ITiposEquipoLogic tiposEquipoLogic = new TiposEquipoLogic();

        return tiposEquipoLogic.findPageTiposEquipo(sortColumnName,
            sortAscending, startRow, maxResults);
    }

    public static Long findTotalNumberTiposEquipo() throws Exception {
        ITiposEquipoLogic tiposEquipoLogic = new TiposEquipoLogic();

        return tiposEquipoLogic.findTotalNumberTiposEquipo();
    }

    public static List<TiposUsuario> getTiposUsuario()
        throws Exception {
        ITiposUsuarioLogic tiposUsuarioLogic = new TiposUsuarioLogic();

        return tiposUsuarioLogic.getTiposUsuario();
    }

    public static void saveTiposUsuario(Integer codigo, String nombre)
        throws Exception {
        ITiposUsuarioLogic tiposUsuarioLogic = new TiposUsuarioLogic();
        tiposUsuarioLogic.saveTiposUsuario(codigo, nombre);
    }

    public static void deleteTiposUsuario(Integer codigo)
        throws Exception {
        ITiposUsuarioLogic tiposUsuarioLogic = new TiposUsuarioLogic();
        tiposUsuarioLogic.deleteTiposUsuario(codigo);
    }

    public static void updateTiposUsuario(Integer codigo, String nombre)
        throws Exception {
        ITiposUsuarioLogic tiposUsuarioLogic = new TiposUsuarioLogic();
        tiposUsuarioLogic.updateTiposUsuario(codigo, nombre);
    }

    public static TiposUsuario getTiposUsuario(Integer codigo)
        throws Exception {
        ITiposUsuarioLogic tiposUsuarioLogic = new TiposUsuarioLogic();
        TiposUsuario tiposUsuario = null;

        try {
            tiposUsuario = tiposUsuarioLogic.getTiposUsuario(codigo);
        } catch (Exception e) {
            throw e;
        }

        return tiposUsuario;
    }

    public static List<TiposUsuario> findByCriteriaInTiposUsuario(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception {
        ITiposUsuarioLogic tiposUsuarioLogic = new TiposUsuarioLogic();

        return tiposUsuarioLogic.findByCriteria(variables, variablesBetween,
            variablesBetweenDates);
    }

    public static List<TiposUsuario> findPageTiposUsuario(
        String sortColumnName, boolean sortAscending, int startRow,
        int maxResults) throws Exception {
        ITiposUsuarioLogic tiposUsuarioLogic = new TiposUsuarioLogic();

        return tiposUsuarioLogic.findPageTiposUsuario(sortColumnName,
            sortAscending, startRow, maxResults);
    }

    public static Long findTotalNumberTiposUsuario() throws Exception {
        ITiposUsuarioLogic tiposUsuarioLogic = new TiposUsuarioLogic();

        return tiposUsuarioLogic.findTotalNumberTiposUsuario();
    }

    public static List<Usuarios> getUsuarios() throws Exception {
        IUsuariosLogic usuariosLogic = new UsuariosLogic();

        return usuariosLogic.getUsuarios();
    }

    public static void saveUsuarios(String apellidos, boolean bloqueado,
        Integer codigo, String correoElectronico, Date fechaDesbloqueo,
        Date fechaNacimiento, String nombres, String telefono,
        Integer codigo_TiposUsuario) throws Exception {
        IUsuariosLogic usuariosLogic = new UsuariosLogic();
        usuariosLogic.saveUsuarios(apellidos, bloqueado, codigo,
            correoElectronico, fechaDesbloqueo, fechaNacimiento, nombres,
            telefono, codigo_TiposUsuario);
    }

    public static void deleteUsuarios(Integer codigo) throws Exception {
        IUsuariosLogic usuariosLogic = new UsuariosLogic();
        usuariosLogic.deleteUsuarios(codigo);
    }

    public static void updateUsuarios(String apellidos, boolean bloqueado,
        Integer codigo, String correoElectronico, Date fechaDesbloqueo,
        Date fechaNacimiento, String nombres, String telefono,
        Integer codigo_TiposUsuario) throws Exception {
        IUsuariosLogic usuariosLogic = new UsuariosLogic();
        usuariosLogic.updateUsuarios(apellidos, bloqueado, codigo,
            correoElectronico, fechaDesbloqueo, fechaNacimiento, nombres,
            telefono, codigo_TiposUsuario);
    }

    public static Usuarios getUsuarios(Integer codigo)
        throws Exception {
        IUsuariosLogic usuariosLogic = new UsuariosLogic();
        Usuarios usuarios = null;

        try {
            usuarios = usuariosLogic.getUsuarios(codigo);
        } catch (Exception e) {
            throw e;
        }

        return usuarios;
    }

    public static List<Usuarios> findByCriteriaInUsuarios(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception {
        IUsuariosLogic usuariosLogic = new UsuariosLogic();

        return usuariosLogic.findByCriteria(variables, variablesBetween,
            variablesBetweenDates);
    }

    public static List<Usuarios> findPageUsuarios(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception {
        IUsuariosLogic usuariosLogic = new UsuariosLogic();

        return usuariosLogic.findPageUsuarios(sortColumnName, sortAscending,
            startRow, maxResults);
    }

    public static Long findTotalNumberUsuarios() throws Exception {
        IUsuariosLogic usuariosLogic = new UsuariosLogic();

        return usuariosLogic.findTotalNumberUsuarios();
    }
}
